//index.js
//获取应用实例
const app = getApp()

var videoSaveUtils = require('../../utils/videoSave')
wx.utils = videoSaveUtils

Component({
  pageLifetimes: {
    show() {
      if (typeof this.getTabBar === 'function' &&
        this.getTabBar()) {
        this.getTabBar().setData({
          selected: 0
        })
      }
    }
  },


  data: {
    // 组件所需的参数
      navbarData: {
        // showCapsule: 1, //是否显示左上角图标   1表示显示    0表示不显示
        title: '首页', //导航栏 中间的标题
        backgroundColor: '#ffffff'
      },
      // 模态框状太
      showCopyText: false,
      // 输入框是否聚焦
      inputShowed: false,
      //输入框的链接
      inputUrl: "",
      //显示有链接的
      linkUrl: "",
      //解析视频之后的标识
      videoFlag: false,
      userInfo: {},
      canIUse: wx.canIUse('button.open-type.getUserInfo'),
      // 授权模态框 没有授权默认开启
      // roleModelFlag: true,
      videoSrc: "",
  
      // 此页面 页面内容距最顶部的距离
      height: app.globalData.height * 2 + 20 ,  
    },
    methods: {
      onLoad: function (options) {
        this.setCache()
        console.log('触发onload');
        // console.log(this.data.height)
        if (app.globalData.userInfo) {
          this.setData({
            userInfo: app.globalData.userInfo,
          })
        }
    
      },
      inputedit: function(e) {
        // console.log(e);
        this.setData({
          'inputUrl': e.detail.value
        })
      },
      getUserInfo: function(e) {
        console.log(e)
        var that =this
        wx.login({
          success: function(res) {
            if(res.code) {
              var code = res.code
              console.log(res.code);
              wx.getSetting({
                success: res => {
                  console.log(res)
                  // console.log(that)
                  var token = wx.getStorageSync('token')
                  var t = that
                    // 如果授权并且app存储库里没有token时 点击会发送请求
                    if(e.detail.rawData && !token){
                      // this.setData({
                      //   roleModelFlag: false,
                      // })
                      wx.getUserInfo({
                        success: function(res) {
                          console.log(res);
                          wx.request({
                            url: 'https://www.selypan.com/user/auth',
                            header: {
                              'Content-Type': 'application/json'
                            },
                            method:'post',
                            data: {
                              code: code,
                              encryptedData: res.encryptedData,
                              iv: res.iv
                            },
                            success: function(res) {
                              if(res.statusCode === 502) {
                                wx.showToast({
                                  title: '授权认证失败',
                                  icon: 'loading'
                                })
                              }else{
                                console.log(res)
                                app.globalData.userInfo = res.data.user
                                t.data.userInfo = res.data.user
                                wx.setStorageSync('token',res.data.token)
                                wx.setStorageSync('token_time',Date.now())
                                }
                              }
                          })
                        }
                      })
                    }else if(token && t.data.inputUrl.length != 0){
                       wx.request({
                        url: 'https://www.selypan.com/analysis/video',
                        header: {
                          'Content-Type': 'application/json',
                          'Authorization': 'Bearer'+" "+token
                        },
                        method:'post',
                        data: {
                          text: t.data.inputUrl
                        },
                        success: function(res) {
                          wx.showLoading({
                            title: '加载中',
                            mask: true,
                          });
                            if(res && res.data){
                              if(res.data.code && res.data.code ==3001 ){
                                wx.showToast({
                                  title: '链接无效',
                                  icon: 'loading'
                                })
                              }else {
                                console.log(res)
                                t.setData({
                                  videoFlag: true,
                                  videoSrc : res.data
                                })
                                console.log(t.data.videoSrc);
                                wx.hideLoading()
                              }
                            }else {
                              wx.showToast({
                                title: '返回失败',
                                icon: 'error',
                              })
                            }
                          
                        }
                       })
                    }
                }
              })
            } else {
              console.log(res.errMsg)
            }
          }
        })
        
      },
      downLoadVideo: function() {
        wx.showLoading({title: '保存中'})
        // console.log(this);
        // var sVideo =""
        // sVideo = this.data.videoSrc.replace("http:","https:")
        wx.utils.getVideoStting(this.data.videoSrc).then(() => {
          wx.showToast({
            title: '保存成功',
            icon: 'success'
          })
          }).catch(()=>{
            // 失败后的逻辑
            wx.showToast({
              title: '保存不了哦~',
              icon: 'loading'
            })
          })
      },
    
    setCache(){
      if(this.judgeTime()){ //判断缓存是否过期，过期删除token和token_time
        wx.clearStorageSync()
      }
    },
    
    judgeTime(){ //判断缓存是否过期
        let nowTime = Date.now();
        let finalTime = wx.getStorageSync('token_time');
        if(finalTime && nowTime < finalTime){
         return false;
        }
        return true;
      },
     finalTime(){ //返回以现在为准的3天后的时间
          return Date.now() + 1209600000; //毫秒(72小时)
        },
    
      onShow: function () {
    
        
        var t = this;
          wx.getClipboardData({
          success (res){
            // 获取剪贴板内容
            var n = res.data;
            // console.log(n);
            t.setData({
              linkUrl: n
            })
            // var o = t.checkIsHaveUrl(n);
            //         // console.log(o)
            //         o.length > 0 && t.data.linkUrl != o && (t.data.linkUrl = o, t.setData({
            //         linkUrl: o
            // }));
            // console.log('o = ' + o.length);
            // 判断剪贴板是否有内容 和 输入框是否没有内容 和 链接是否有长度 和视频标识为没有存在 ，有就弹出
            if(n.length != 0) {
              t.setData({
                showCopyText: true
              });
              // console.log(t.data.showCopyText);
            }
          }
        })
      },
    
      // 过滤出链接
      // checkIsHaveUrl: function(t) {
      //   var e = /(https?|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g, n = t.match(e);
      //   return n && n.length > 0 ? n[0] : "";
      // },
      // 取消按钮
      cancelClcik: function() {
        this.setData({
          showCopyText: false
        });
        wx.setClipboardData({
          data: '',
          success (res) {
            // wx.hideToast();
            wx.showToast({
              title: '取消成功',
            })
          }
        })
        // console.log(this.data.showCopyText);
      },
    
      // 粘贴按钮
      enterClick: function() {
        this.setData({
          inputUrl: this.data.linkUrl,
          showCopyText: false
        });
        wx.setClipboardData({
          data: '',
          success (res) {
            // wx.hideToast();
            wx.showToast({
              title: '粘贴成功',
            })
          }
        })
      },
      // 删除文本按钮
      deleteText: function() {
        this.setData({
          inputUrl: '',
          inputShowed: true
        });
      }
  
    }
    


})


  


